1. Field of the Invention
The present invention relates to network printer management and, more particularly, to a system for printer management including software that runs from either a client or server computer to monitor and track transaction event history for a pipeline of different users, devices, applications and documents.
2. Description of the Background
The printer market includes computer printer manufacturers such as Hewlett-Packard, Lexmark and Epson, as well as high-end copier manufacturers, such as Xerox and Ricoh. Companies such as Canon maintain a strong presence in both the printer market and the copier market.
These vendors as well as their customers understand the importance of device management including printers, copiers, network fax machines and scanners. Indeed, most large organizations use some form of print management to audit, analyze, track, restrict and quota their employee's printing. This helps them to save significant expense, and indeed as much as 40% or more on their printing expenses alone.
Existing network technology provides limited capability to manage printers and other devices. A primary goal of local area network (LAN) technology is to share all resources that are distributed across the network. Existing network software helps network administrators to accomplish this purpose. For example, Microsoft® Windows NT® Server 4.0 allows administrators to give anyone in their organization access to resources available on a Windows NT Server system. Nevertheless, comprehensive print management in a conventional network is still an elusive goal. This is primarily due to the complexities in managing the diverse operating systems of the client computers, and the numerous printer drivers required for each different type of printer and for each different operating system, and the management problems created by a mixture of end-user attached and network attached printers. Printers that are attached directly to an end-user's computer are not easily installed, configured or removed. In order to install and use a new printer on an end-user's computer, the device driver must be installed from the computer itself, the port must be configured and the device mode settings (such as page size) must be manually set.
There are numerous obstacles faced in central printer management. Within a typical LAN a plurality of client terminals are connected to respective network Servers via any of a number of different communication topologies inclusive of 10-base T, 100-base T, Sonet, Token Ring, etc. Clients terminals might be configured to communicate with their assigned Servers via any of a number of different communication protocols such as IPX/SPX, TCP/IP, etc. In addition, Clients might be running any of various operating systems such as MacIntosh, Windows 95, 98 or Windows NT Workstation. Moreover, any number of different printers may be connected to the LAN, each requiring a different printer driver specially configured depending on the above constraints. If there are 100 client stations each with printers attached, and there are 5 servers, then there would need to be 500 printer configurations defined and maintained. The management of client printer configurations has traditionally been a manual process and all printer drivers must be manually installed and network connections manually established. This is accomplished by the administrator physically working with each client station connected to the LAN, and the impracticality of the situation becomes apparent.
There are a number of prior art references that are generally concerned with printer resource management.
For example, U.S. Pat. No. 5,819,015 to Martin et al. shows a networked system using a host computer that can be utilized by a user or a Network Administrator to “read” the contents of each printer memory connected to the network.
U.S. Pat. No. 5,993,088 to Nogay shows a method for optimal use of print resources during the preparation a print job for printing. During the creation of a spool file the invention logs data on print resource usage (such as font types and frequency) in a print job in an accounting file. Upon review of this data, it modifies the print resource usage data in the accounting file as necessary to optimize print resource usage. The spool file and the accounting file are then sent to a printer driver. The printer driver knows how to use the print resource data in the accounting file to optimize the print resource usage.
U.S. Pat. No. 5,935,262 to Barrett et al. shows a print interface device between a local area network (LAN) and a printer and which can output a log file. The device includes a LAN interface for receiving image forming jobs and command signals from the LAN, and a peripheral interface for outputting image forming jobs to the printer. The network device further includes a storage device that stores a log file of print jobs received from the LAN. The device includes a processor that updates the stored log file based on the image forming jobs received from the LAN. The processor is capable of formatting the log file into a print job and outputting the formatted log file to the printer.
U.S. Pat. No. 6,003,069 to Cavill shows a client/server printer driver system including a client-side subsystem capable of dividing the print job into portions to be processed client-side.
U.S. Pat. No. 5,794,035 to Golub et al. shows a system for managing input/output (I/O) resources in a computer system. The system includes a hardware resource manager which tracks the use of the I/O resources. In addition, the hardware resource manager (HRM) can allocate the resources between device drivers and provide a standard implementation to be used by device drivers. The HRM manages resources, arbitrates requests for print resources, and eliminates bottlenecks.
U.S. Pat. No. 5,699,493 to Davidson et al. shows a printing system having a host computer and a printer in which the printer acquires print job accounting information and communicates it to the host computer via NPAP messages. A host computer downloads print job data to the printer through a communications port on the printer (i.e., either a parallel port, serial port, or network port), and as the printer prints the print job that it received from the host computer, the printer temporarily stores job accounting information. At the end of the print job, the printer communicates that job accounting information back to armed host computers via a bi-directional communications port, including typical information such as: the job identifier number, job processing time, number of sheets of paper from each paper source, number of impressions from each paper source (either one-sided or two-sided impressions), the port identifier, the network user name, the name of the print job (as specified), and the printer's serial number.
U.S. Pat. No. 5,727,135 to Webb et al. shows bidirectional communications between a host computer and a selected printer connected to the host, to provide a user of the host with access to a substantially real-time, visual and functional replica of the operator panel of the selected printer. A user at the host computer may also visually monitor the status of multiple printers at the same time from the same host display.
Although all of the above-referenced patents suggest printer management in a LAN context, they are meant to install a print management program at a central server that intercepts print data from connected devices upstream of the server. Under this topology only limited print information can be attained.
For example, FIG. 1 is a prior art illustration of a conventional scheme in which a client or server PC 10 employs a print driver 20 which in turn outputs to a print spooler 30 which then outputs to either of two multi-function LDAP complaint print devices 40, 50. By monitoring this print stream it is only possible to obtain information about that print job, and not all device and user metrics that may not have been sent with the print job.
None of the prior art suggest the concept of “driver wrapping”, e.g, attaching print reporting software (agent software) to the OEM print drivers used in the network whether at client or server PCs, or all, to monitor print requests, extract all relevant print data (including both device and user metrics), and then upload the information to a database repository which can be located on any local or remote data store, or internal or external data store. The print data can then be interrogated from any connected client or server PC or by internet access. This driver wrapping would allow much more comprehensive print and device monitoring from either a client or server computer, and can monitor and track transaction event history for a pipeline of different users, devices, applications and documents. It can monitor all aspects of document origination, generation, acquisition and destination metrics to and from the network pipeline of User(s) and Device(s) connected to a print server before sending data to the internal data store and/or an external data store which the customer and/or vendor controls.